File I/O এবং Process Management এর জন্য System Calls

Computer Programming - অ্যাসেম্বলি প্রোগ্রামিং (Assembly Programming) Assembly Language এ System Calls (System Calls in Assembly Language) |
272
272

System Calls হলো এমন ফাংশন যা অপারেটিং সিস্টেমের কোর বা কার্নেলের সাথে যোগাযোগ করতে ব্যবহৃত হয়। Assembly Language প্রোগ্রামিংয়ে File I/O এবং Process Management পরিচালনার জন্য নির্দিষ্ট System Calls ব্যবহৃত হয়। System Calls ব্যবহার করে ফাইলের সাথে পড়া, লেখা, তৈরি করা এবং প্রক্রিয়া (process) তৈরি বা বন্ধ করার কাজ সম্পন্ন করা যায়।


File I/O এর জন্য System Calls

Assembly Language-এ ফাইলের সাথে ইনপুট এবং আউটপুট অপারেশন পরিচালনা করার জন্য নিচের System Calls গুলি ব্যবহৃত হয়:

  1. open:
    • ব্যবহার: ফাইল খোলার জন্য ব্যবহৃত হয়।
    • System Call Number (লিনাক্সের জন্য): 5
    • Registers:
      • EAX = 5 (System Call Number)
      • EBX = ফাইলের নামের পয়েন্টার
      • ECX = ফাইলের ওপেন মোড (যেমন read-only, write-only)
      • EDX = পারমিশন (যদি নতুন ফাইল তৈরি করা হয়)
    • উদাহরণ:

      MOV EAX, 5          ; open system call
      MOV EBX, file_name  ; ফাইলের নামের পয়েন্টার
      MOV ECX, 0          ; read-only মোড
      INT 0x80            ; system call interrupt
  2. read:
    • ব্যবহার: ফাইল থেকে পড়ার জন্য ব্যবহৃত হয়।
    • System Call Number: 3
    • Registers:
      • EAX = 3 (System Call Number)
      • EBX = ফাইল ডেসক্রিপ্টর
      • ECX = ডেটা পড়ার জন্য বাফারের পয়েন্টার
      • EDX = পড়ার জন্য বাইটের সংখ্যা
    • উদাহরণ:

      MOV EAX, 3          ; read system call
      MOV EBX, file_desc  ; ফাইল ডেসক্রিপ্টর
      MOV ECX, buffer     ; ডেটা বাফারের পয়েন্টার
      MOV EDX, 100        ; পড়ার জন্য বাইটের সংখ্যা
      INT 0x80            ; system call interrupt
  3. write:
    • ব্যবহার: ফাইলে বা স্ট্যান্ডার্ড আউটপুটে ডেটা লেখার জন্য ব্যবহৃত হয়।
    • System Call Number: 4
    • Registers:
      • EAX = 4 (System Call Number)
      • EBX = ফাইল ডেসক্রিপ্টর (স্ট্যান্ডার্ড আউটপুটের জন্য 1)
      • ECX = লেখার জন্য বাফারের পয়েন্টার
      • EDX = লেখার জন্য বাইটের সংখ্যা
    • উদাহরণ:

      MOV EAX, 4          ; write system call
      MOV EBX, 1          ; স্ট্যান্ডার্ড আউটপুট
      MOV ECX, buffer     ; লেখার জন্য ডেটা বাফার
      MOV EDX, 100        ; লেখার জন্য বাইটের সংখ্যা
      INT 0x80            ; system call interrupt
  4. close:
    • ব্যবহার: খোলা ফাইল বন্ধ করার জন্য ব্যবহৃত হয়।
    • System Call Number: 6
    • Registers:
      • EAX = 6 (System Call Number)
      • EBX = ফাইল ডেসক্রিপ্টর
    • উদাহরণ:

      MOV EAX, 6          ; close system call
      MOV EBX, file_desc  ; ফাইল ডেসক্রিপ্টর
      INT 0x80            ; system call interrupt

Process Management এর জন্য System Calls

Assembly Language-এ প্রসেস ম্যানেজমেন্টের জন্য ব্যবহৃত সাধারণ System Calls নিম্নরূপ:

  1. fork:
    • ব্যবহার: একটি নতুন প্রসেস তৈরি করার জন্য ব্যবহৃত হয়।
    • System Call Number: 2
    • Registers:
      • EAX = 2 (System Call Number)
    • ব্যাখ্যা: নতুন প্রসেসের ক্ষেত্রে EAX রেজিস্টারে 0 রিটার্ন হয় এবং প্যারেন্ট প্রসেসের ক্ষেত্রে এটি নতুন প্রসেসের PID রিটার্ন করে।
  2. execve:
    • ব্যবহার: বর্তমান প্রসেসের স্থান পরিবর্তন করে নতুন প্রোগ্রাম চালানোর জন্য ব্যবহৃত হয়।
    • System Call Number: 11
    • Registers:
      • EAX = 11 (System Call Number)
      • EBX = প্রোগ্রামের নামের পয়েন্টার
      • ECX = আর্গুমেন্টের পয়েন্টার
      • EDX = এনভায়রনমেন্টের পয়েন্টার
  3. exit:
    • ব্যবহার: বর্তমান প্রসেস সমাপ্ত করার জন্য ব্যবহৃত হয়।
    • System Call Number: 1
    • Registers:
      • EAX = 1 (System Call Number)
      • EBX = রিটার্ন কোড
    • উদাহরণ:

      MOV EAX, 1          ; exit system call
      MOV EBX, 0          ; রিটার্ন কোড 0 (সফল সমাপ্তি)
      INT 0x80            ; system call interrupt

সারসংক্ষেপ

Assembly Language-এ File I/O এবং Process Management পরিচালনার জন্য System Calls ব্যবহৃত হয়। File I/O পরিচালনার জন্য open, read, write, এবং close System Calls ব্যবহার করা হয়। Process Management এর জন্য fork, execve, এবং exit System Calls ব্যবহৃত হয়। এগুলি CPU এবং কার্নেলের মধ্যে যোগাযোগ করে কার্যকরী কার্যপ্রণালী সম্পন্ন করে এবং প্রোগ্রামের কার্যকারিতা নিশ্চিত করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion